API(Application Programming Interface,
应用程序编程接口)是一些预先定义的接口,目的是提供
应用程序与开发人员基于某软件或硬件的以访问一组
例程的能力,而又无需访问源码,或理解内部
工作机制的细节。
运行Java程序时,
虚拟机装载程序的
class文件所使用的Java
API class文件。所有被装载的class文件(包括从
应用程序中和从Java API中提取的)和所有已经装载的
动态库(包含本地方法)共同组成了在Java虚拟机上运行的整个程序。 在一个平台能够支持Java程序以前,必须在这个特定平台上明确地实现API的功能。为访问主机上的本地资源,Java API调用了本地方法。由于Java API class文件调用了本地方法,Java程序就不需要再调用它们了。通过这种方法,Java API class文件为底层主机提供了具有
平台无关性、
标准接口的Java程序。对Java程序而言,无论平台内部如何,Java API都会有同样的表现和可预测的行为。正是由于在每个特定的主机平台上明确地实现了Java
虚拟机和Java API,因此,Java程序自身就能够成为具有平台无关性的程序。
Java API在Java安全性模型方面也有贡献。当Java API的方法进行任何有潜在危险的操作(比如进行
本地磁盘写操作)之前,都会通过查询访问控制器来检验是否得到了授权。访问控制器是一个类,该类用来执行栈检验,以决定是否允许某种操作。